package org.rui.rpc.registry;

/**
 * @author: linweirui
 * @date: 2024/12/02 14:16
 */

import java.util.concurrent.ConcurrentHashMap;

/**
 * 本地注册中心
 */
public class LocalRegistry {
    /**
     * 存储信息map
     */
    private static final ConcurrentHashMap<String, Class<?>> map = new ConcurrentHashMap<>();

    /**
     * 注册服务 key为服务名称 value为提供服务实现类
     *
     * @param serviceName
     * @param impl
     */
    public static void registry(String serviceName, Class<?> impl) {
        map.put(serviceName, impl);
    }

    /**
     * 根据服务名称获取实现服务类
     *
     * @param serviceName
     * @return
     */
    public static Class<?> getService(String serviceName) {
        return map.get(serviceName);
    }

    /**
     * 删除对应服务
     *
     * @param serviceName
     */
    public static void remove(String serviceName) {
        map.remove(serviceName);
    }
}
